Oracle 内核与原理 ROWID
1 Rowid 是什么
Rowid 看似像表的某个字段,但是实际数据并不存在表里,可查询,并不能删除或更新。
2 Rowid 的格式
2.1 查询Rowid 信息。
SQL> SELECT ROWID FROM employees WHERE employee_id = 100;
ROWID
------------------
AAAR3kAAEAAAKS8AAA
2.2 Rowid 的组成部分
four-piece format, OOOOOOFFFBBBBBBRRR,
OOOOOO:
- 为对象ID.
FFF:
- 为数据文件编号
BBBBBB:
- 为块编号
RRR
在这个数据块里的行编号。
3 Rowid 变化的场景
Case1: rowid move
打开(默认)。
1、主键更新。
2、闪回表操作。
3、导入导出。
4、移动表空间。
Case1: rowid move 关闭。
1、导入导出。